package com.vcoud.mundialbrasil2014;

import java.util.ArrayList;
import java.util.HashMap;

import android.database.Cursor;
import android.database.SQLException;
import android.os.Bundle;
import android.os.StrictMode;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentActivity;
import android.support.v4.app.FragmentManager;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.ListView;

import com.vcoud.mbrasil2014.R;
import com.vcoud.mundialbrasil2014.adapter.LazyAdapter;

public class EquipoFragment extends Fragment {
	// Todas las variables estaticas
	//
	public static final String KEY_NOMBRE = "Nombre";
	public static final String KEY_ID = "IDEquipo";
	public static final String KEY_BANDERA = "Bandera";
	public static final String KEY_ESCUDO = "Escudo";
	public static final String KEY_GRUPO = "Grupo";
	public static final String KEY_DESCRIPCION = "Descripcion";
	public static final String KEY_COLOR = "Color";

	FragmentActivity listener;
	ListView list;
	LazyAdapter adapter;
	final ArrayList<HashMap<String, String>> lista = new ArrayList<HashMap<String, String>>();

	public EquipoFragment() {
	}

	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		StrictMode.setThreadPolicy(new StrictMode.ThreadPolicy.Builder()
				.detectDiskReads().detectDiskWrites().detectNetwork()
				.penaltyLog().build());

		DB db = new DB(getActivity());
		db.abrir();
		Cursor c = db.obtenerTodosEquipos();
		if (c.moveToFirst()) {

			do {
				// Creando un nuevo HashMap
				HashMap<String, String> map = new HashMap<String, String>();
				// agregando cada hijo al key map
				try {
					map.put(KEY_ID, c.getString(0));
					map.put(KEY_NOMBRE, c.getString(1));
					map.put(KEY_BANDERA, c.getString(2));
					// Jonathan
					map.put(KEY_GRUPO, c.getString(4));
					map.put(KEY_COLOR, c.getString(7));
				} catch (SQLException e) {

					e.printStackTrace();
				}
				// agregando elementos al array
				lista.add(map);
			} while (c.moveToNext());
		}
		db.cerrar();
	}

	@Override
	public View onCreateView(LayoutInflater inflater, ViewGroup container,
			Bundle savedInstanceState) {

		View rootView = inflater.inflate(R.layout.fragment_equipo, container,
				false);

		list = (ListView) rootView.findViewById(R.id.list);

		// obteniendo adaptador para pasar la data JSON
		adapter = new LazyAdapter(super.getActivity(), lista);
		list.setAdapter(adapter);

		// Click event for single list row
		list.setOnItemClickListener(new OnItemClickListener() {

			@Override
			public void onItemClick(AdapterView<?> parent, View view,
					int position, long id) {
				Fragment fragment = null;
				fragment = new DetalleEquipoFragment();
				if (fragment != null) {
					// Permite pasar los argumentos a DetalleEquipo
					Bundle args = new Bundle();
					id = adapter.getItemId(position);
					args.putLong("IDEquipo", id);
					fragment.setArguments(args);
					FragmentManager fragmentManager = getFragmentManager();
					fragmentManager.beginTransaction()
							.replace(R.id.frame_container, fragment)
							.addToBackStack(getTag()).commit();

				}
			}
		});

		return rootView;
	}

}
